package com.mdd.maduoduo.domain.repository;

import com.mdd.maduoduo.entity.BannerEntity;
import com.mdd.maduoduo.entity.CheckVersionEntity;
import com.mdd.maduoduo.entity.LoginEntity;
import com.mdd.maduoduo.entity.MaxConfigEntity;
import com.mdd.maduoduo.entity.MaxDataEntity;
import com.mdd.maduoduo.entity.QueryListEntity;
import com.mdd.maduoduo.entity.Response;
import com.mdd.maduoduo.entity.ShareCodeEntity;
import com.mdd.maduoduo.entity.StationEntity;
import com.mdd.maduoduo.entity.UserEntity;

import java.util.HashMap;

import io.reactivex.Observable;

public interface LoginRepository {
    Observable<Response<LoginEntity>> login(String url);

    Observable<UserEntity> getUser();

    Observable<MaxConfigEntity> getMaxConfig();

    Observable<Response> setSwitch(HashMap<String,Object> map);

    Observable<MaxDataEntity> getMaxData();

    Observable<Response> exchange(HashMap<String,Object> map);

    Observable<Response> logout();

    Observable<Response> addShareCode(HashMap<String,Object> map);

    Observable<ShareCodeEntity> getShareCode();

    Observable<Response> deleteShareCode(String pickupSharedCode);

    Observable<Response> updateTime(HashMap<String,Object> map);

    Observable<Response> addMsg(HashMap<String,Object> map);

    Observable<QueryListEntity> queryList(HashMap<String,Object> map);

    Observable<StationEntity> getStation(int pickupStatus);

    Observable<Response> updateCodeStatus(HashMap<String,Object> map);

    Observable<Response> deleteCode(HashMap<String,Object> map);

    Observable<BannerEntity> getBannerList(String pTag);

    Observable<CheckVersionEntity> checkVersion(HashMap<String,Object> map);


}
